// need plugin: jquery.form
(function($){
	jQuery.fn.extend({
		entryForm : function(options){
			var defaults = {
							goalTitle: "igoal.vn", 
							showFormButtonId: "#wae", 
							formContainerId: "#wae_cp",
							formId: "#wea_form",
							useAJAX: true,							
							titleInput: "input[type=text]",
							maxTitleLength: 50,							
							contentArea: "textarea",
							maxContentLength: 500,
							imageUpload: "file",
							maxFileSize: 100000,
							previewButton: "button",
							submitButton: "input[type=submit]",
							errorCls: "error"
							};
			
			var settings = $.extend({}, defaults, options);
			
			return this.each(function(){								
				var $formContainer = jQuery(settings.formContainerId);
				var $form = jQuery(settings.formId);
				$form.ajaxForm({
					beforeSubmit: validateForm,
					success: showResponse
				});
				
				jQuery(settings.showFormButtonId).click(function(){
					var $sfb = jQuery(this);
					if($sfb.hasClass("open_wae")){
						$formContainer.hide();
						$sfb.removeClass("open_wae");
					}else{
						$formContainer.show();
						$sfb.addClass("open_wae");
					}
				});
				
				function showResponse(){
					
				}
				
				function validateForm(){
					var $titleInput = $form.find(settings.titleInput);
					$titleInput.attr("maxlength", settings.maxTitleLength)
					$titleInput.blur(function(){
						var length = this.value.length;
						if(length == 0){
							this.title = "Vui lòng điền tiêu đề cho bài viết này";
							jQuery(this).addClass(settings.errorCls);
							return false;
						}else if(length > settings.maxTitleLength){
							this.title = "Số ký tự của bạn vượt quá cho phép ("+settings.maxTitleLength+")";
							jQuery(this).addClass(settings.errorCls);
							return false;
						}else{
							this.title = "";
							jQuery(this).removeClass(settings.errorCls);
						}
					});
					
					var $contentArea = $form.find(settings.contentArea);
					$contentArea.attr("maxlength", settings.maxContentLength)
					$contentArea.click(function(){
						var length = this.value.length;
						if(length == 0){
							this.title = "Vui lòng điền nội dung cho bài viết này";
							jQuery(this).addClass(settings.errorCls);
							return false;
						}else if(length > settings.maxTitleLength){
							this.title = "Số ký tự của bạn vượt quá cho phép ("+settings.maxContentLength+")";
							jQuery(this).addClass(settings.errorCls);
							return false;
						}else{
							this.title = "";
							jQuery(this).removeClass(settings.errorCls);
						}
					});
					
					var $imageUpload = $form.find(settings.imageUpload);
					
					return true;
				}																
				
				var $previewButton = $form.find(settings.previewButton);
				$previewButton.click(function(){
					//show preview popup
				});											
			});
		}
	});
})(jQuery);